package com.ilink.groundservice.service.AiX;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ilink.groundservice.entity.VO.AiX.AiXCourseResponse;
import com.ilink.ilinkapi.dto.ground.AiX.AiXAreaFilterRequest;
import com.ilink.ilinkapi.dto.ground.AiX.Course.AiXCourseInsertRequest;
import com.ilink.ilinkapi.dto.ground.AiX.Course.AiXCourseUpdateRequest;
import com.ilink.ilinkcommon.domain.R;
import java.util.List;
import org.springframework.web.multipart.MultipartFile;

public interface AiXCourseService {
//具体功能在Impl中实现，在controller中使用，所有需要的类在PO,VO，DTO中定义
  IPage<AiXCourseResponse> getCourses(AiXAreaFilterRequest request);

  R insertCourse(AiXCourseInsertRequest request);

  R updateCourse(AiXCourseUpdateRequest request);

  R updateCourseCover(MultipartFile file, Long courseId, Long areaId);

  void deleteCourse(Long courseId);

  AiXCourseResponse getCourse(Long courseId);

  List<String> getCourseTags(Long areaId);
}
